package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.TradeStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 实体卡交易记录实体类<br>
 * 对应的表为：walt_entity_card_trade<br>
 * 
 * @author pbuilder generated
 * @date 2021-04-02 10:42:50
 * @company sgy
 * @version 2.0
 */
@TableName("walt_entity_card_trade")
@ApiModel(description = "实体卡交易记录")
public class EntityCardTradeEntity {

    /** 会员悦卡交易记录ID */
	@ApiModelProperty("会员悦卡交易记录ID")
	protected String id;

    /** 会员ID（冗余） */
	@ApiModelProperty("会员ID（冗余）")
	protected String memberId;

    /** 会员钱包ID（冗余） */
	@ApiModelProperty("会员钱包ID（冗余）")
	protected String memberWalletId;

    /** 会员悦卡ID */
	@ApiModelProperty("会员悦卡ID")
	protected String memberCardId;

    /** 会员悦卡ID */
	@ApiModelProperty("会员悦卡ID")
	protected String entityCardId;

    /** 会员悦卡卡号（冗余） */
	@ApiModelProperty("会员悦卡卡号（冗余）")
	protected String entityCardNo;

    /** 悦卡模板ID（冗余） */
	@ApiModelProperty("悦卡模板ID（冗余）")
	protected String cardTemplateId;

    /** 商户ID（冗余） */
	@ApiModelProperty("商户ID（冗余）")
	protected String merchantId;

    /** 商户钱包ID */
	@ApiModelProperty("商户钱包ID")
	protected String merchantWalletId;

    /** 商圈ID（冗余） */
	@ApiModelProperty("商圈ID（冗余）")
	protected String busdId;

    /** 订单号 */
	@ApiModelProperty("订单号")
	protected String orderNo;

    /** 交易金额 */
	@ApiModelProperty("交易金额")
	protected BigDecimal amount;

    /** 交易前悦卡余额 */
	@ApiModelProperty("交易前悦卡余额")
	protected BigDecimal cardAmountBefore;

    /** 交易后悦卡余额 */
	@ApiModelProperty("交易后悦卡余额")
	protected BigDecimal cardAmountAfter;

    /** [全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED */
	@ApiModelProperty("[全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED")
	protected TradeStatus tradeStatus;

    /** 交易时间 */
	@ApiModelProperty("交易时间")
	protected LocalDateTime createdTime;

    /** 入账时间 */
	@ApiModelProperty("入账时间")
	protected LocalDateTime incomeTime;

    /** 中止时间 */
	@ApiModelProperty("中止时间")
	protected LocalDateTime stoppedTime;

	/**
	 * 构造一个空实体卡交易记录实体对象
	 */
	public EntityCardTradeEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个实体卡交易记录实体对象
	 * 
	 * @param other 其它对象
	 */
	public EntityCardTradeEntity(EntityCardTradeEntity other){
		super();
     	this.id = other.id;
     	this.memberId = other.memberId;
     	this.memberWalletId = other.memberWalletId;
     	this.memberCardId = other.memberCardId;
     	this.entityCardId = other.entityCardId;
     	this.entityCardNo = other.entityCardNo;
     	this.cardTemplateId = other.cardTemplateId;
     	this.merchantId = other.merchantId;
     	this.merchantWalletId = other.merchantWalletId;
     	this.busdId = other.busdId;
     	this.orderNo = other.orderNo;
     	this.amount = other.amount;
     	this.cardAmountBefore = other.cardAmountBefore;
     	this.cardAmountAfter = other.cardAmountAfter;
     	this.tradeStatus = other.tradeStatus;
     	this.createdTime = other.createdTime;
     	this.incomeTime = other.incomeTime;
     	this.stoppedTime = other.stoppedTime;
	}


	/**
	 * 获取会员悦卡交易记录ID
	 * 
	 * @return id 会员悦卡交易记录ID
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置会员悦卡交易记录ID
	 * 
	 * @param id 会员悦卡交易记录ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取会员ID（冗余）
	 * 
	 * @return memberId 会员ID（冗余）
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置会员ID（冗余）
	 * 
	 * @param memberId 会员ID（冗余）
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取会员钱包ID（冗余）
	 * 
	 * @return memberWalletId 会员钱包ID（冗余）
	 */
	public String getMemberWalletId() {
		return memberWalletId;
	}
  	
	/**
	 * 设置会员钱包ID（冗余）
	 * 
	 * @param memberWalletId 会员钱包ID（冗余）
	 */
	public void setMemberWalletId(String memberWalletId) {
		this.memberWalletId = memberWalletId;
	}

	/**
	 * 获取会员悦卡ID
	 * 
	 * @return memberCardId 会员悦卡ID
	 */
	public String getMemberCardId() {
		return memberCardId;
	}
  	
	/**
	 * 设置会员悦卡ID
	 * 
	 * @param memberCardId 会员悦卡ID
	 */
	public void setMemberCardId(String memberCardId) {
		this.memberCardId = memberCardId;
	}

	/**
	 * 获取会员悦卡ID
	 * 
	 * @return entityCardId 会员悦卡ID
	 */
	public String getEntityCardId() {
		return entityCardId;
	}
  	
	/**
	 * 设置会员悦卡ID
	 * 
	 * @param entityCardId 会员悦卡ID
	 */
	public void setEntityCardId(String entityCardId) {
		this.entityCardId = entityCardId;
	}

	/**
	 * 获取会员悦卡卡号（冗余）
	 * 
	 * @return entityCardNo 会员悦卡卡号（冗余）
	 */
	public String getEntityCardNo() {
		return entityCardNo;
	}
  	
	/**
	 * 设置会员悦卡卡号（冗余）
	 * 
	 * @param entityCardNo 会员悦卡卡号（冗余）
	 */
	public void setEntityCardNo(String entityCardNo) {
		this.entityCardNo = entityCardNo;
	}

	/**
	 * 获取悦卡模板ID（冗余）
	 * 
	 * @return cardTemplateId 悦卡模板ID（冗余）
	 */
	public String getCardTemplateId() {
		return cardTemplateId;
	}
  	
	/**
	 * 设置悦卡模板ID（冗余）
	 * 
	 * @param cardTemplateId 悦卡模板ID（冗余）
	 */
	public void setCardTemplateId(String cardTemplateId) {
		this.cardTemplateId = cardTemplateId;
	}

	/**
	 * 获取商户ID（冗余）
	 * 
	 * @return merchantId 商户ID（冗余）
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户ID（冗余）
	 * 
	 * @param merchantId 商户ID（冗余）
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取商户钱包ID
	 * 
	 * @return merchantWalletId 商户钱包ID
	 */
	public String getMerchantWalletId() {
		return merchantWalletId;
	}
  	
	/**
	 * 设置商户钱包ID
	 * 
	 * @param merchantWalletId 商户钱包ID
	 */
	public void setMerchantWalletId(String merchantWalletId) {
		this.merchantWalletId = merchantWalletId;
	}

	/**
	 * 获取商圈ID（冗余）
	 * 
	 * @return busdId 商圈ID（冗余）
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID（冗余）
	 * 
	 * @param busdId 商圈ID（冗余）
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取订单号
	 * 
	 * @return orderNo 订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
  	
	/**
	 * 设置订单号
	 * 
	 * @param orderNo 订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取交易金额
	 * 
	 * @return amount 交易金额
	 */
	public BigDecimal getAmount() {
		return amount;
	}
  	
	/**
	 * 设置交易金额
	 * 
	 * @param amount 交易金额
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * 获取交易前悦卡余额
	 * 
	 * @return cardAmountBefore 交易前悦卡余额
	 */
	public BigDecimal getCardAmountBefore() {
		return cardAmountBefore;
	}
  	
	/**
	 * 设置交易前悦卡余额
	 * 
	 * @param cardAmountBefore 交易前悦卡余额
	 */
	public void setCardAmountBefore(BigDecimal cardAmountBefore) {
		this.cardAmountBefore = cardAmountBefore;
	}

	/**
	 * 获取交易后悦卡余额
	 * 
	 * @return cardAmountAfter 交易后悦卡余额
	 */
	public BigDecimal getCardAmountAfter() {
		return cardAmountAfter;
	}
  	
	/**
	 * 设置交易后悦卡余额
	 * 
	 * @param cardAmountAfter 交易后悦卡余额
	 */
	public void setCardAmountAfter(BigDecimal cardAmountAfter) {
		this.cardAmountAfter = cardAmountAfter;
	}

	/**
	 * 获取[全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED
	 * 
	 * @return tradeStatus [全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED
	 */
	public TradeStatus getTradeStatus() {
		return tradeStatus;
	}
  	
	/**
	 * 设置[全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED
	 * 
	 * @param tradeStatus [全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED
	 */
	public void setTradeStatus(TradeStatus tradeStatus) {
		this.tradeStatus = tradeStatus;
	}

	/**
	 * 获取交易时间
	 * 
	 * @return createdTime 交易时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置交易时间
	 * 
	 * @param createdTime 交易时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取入账时间
	 * 
	 * @return incomeTime 入账时间
	 */
	public LocalDateTime getIncomeTime() {
		return incomeTime;
	}
  	
	/**
	 * 设置入账时间
	 * 
	 * @param incomeTime 入账时间
	 */
	public void setIncomeTime(LocalDateTime incomeTime) {
		this.incomeTime = incomeTime;
	}

	/**
	 * 获取中止时间
	 * 
	 * @return stoppedTime 中止时间
	 */
	public LocalDateTime getStoppedTime() {
		return stoppedTime;
	}
  	
	/**
	 * 设置中止时间
	 * 
	 * @param stoppedTime 中止时间
	 */
	public void setStoppedTime(LocalDateTime stoppedTime) {
		this.stoppedTime = stoppedTime;
	}

    public String toString() {
		return new StringBuilder().append("EntityCardTradeEntity{").
			append("id=").append(id).
			append(",memberId=").append(memberId).
			append(",memberWalletId=").append(memberWalletId).
			append(",memberCardId=").append(memberCardId).
			append(",entityCardId=").append(entityCardId).
			append(",entityCardNo=").append(entityCardNo).
			append(",cardTemplateId=").append(cardTemplateId).
			append(",merchantId=").append(merchantId).
			append(",merchantWalletId=").append(merchantWalletId).
			append(",busdId=").append(busdId).
			append(",orderNo=").append(orderNo).
			append(",amount=").append(amount).
			append(",cardAmountBefore=").append(cardAmountBefore).
			append(",cardAmountAfter=").append(cardAmountAfter).
			append(",tradeStatus=").append(tradeStatus).
			append(",createdTime=").append(createdTime).
			append(",incomeTime=").append(incomeTime).
			append(",stoppedTime=").append(stoppedTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public EntityCardTradeEntity copy() {
		return new EntityCardTradeEntity(this);
	}

    /** 会员悦卡交易记录ID */
	public static final String COL_ID = "id";

    /** 会员ID（冗余） */
	public static final String COL_MEMBER_ID = "member_id";

    /** 会员钱包ID（冗余） */
	public static final String COL_MEMBER_WALLET_ID = "member_wallet_id";

    /** 会员悦卡ID */
	public static final String COL_MEMBER_CARD_ID = "member_card_id";

    /** 会员悦卡ID */
	public static final String COL_ENTITY_CARD_ID = "entity_card_id";

    /** 会员悦卡卡号（冗余） */
	public static final String COL_ENTITY_CARD_NO = "entity_card_no";

    /** 悦卡模板ID（冗余） */
	public static final String COL_CARD_TEMPLATE_ID = "card_template_id";

    /** 商户ID（冗余） */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 商户钱包ID */
	public static final String COL_MERCHANT_WALLET_ID = "merchant_wallet_id";

    /** 商圈ID（冗余） */
	public static final String COL_BUSD_ID = "busd_id";

    /** 订单号 */
	public static final String COL_ORDER_NO = "order_no";

    /** 交易金额 */
	public static final String COL_AMOUNT = "amount";

    /** 交易前悦卡余额 */
	public static final String COL_CARD_AMOUNT_BEFORE = "card_amount_before";

    /** 交易后悦卡余额 */
	public static final String COL_CARD_AMOUNT_AFTER = "card_amount_after";

    /** [全局枚举]交易状态：0-会员支出-MEMBER_OUT、1-商户入账-MERCHANT_IN、2-交易确认(进入商户可提现账户)-CONFIRMED、3-中止交易(退款)-STOPPED */
	public static final String COL_TRADE_STATUS = "trade_status";

    /** 交易时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 入账时间 */
	public static final String COL_INCOME_TIME = "income_time";

    /** 中止时间 */
	public static final String COL_STOPPED_TIME = "stopped_time";
}
